1. Field of the Invention
This invention relates to a method for interference cancellation in CDMA systems, particularly in conjunction with such system having plural mobile stations.
2. Brief Description of the Prior Art
Code division multiple access (CDMA) communication systems are communication systems wherein data is transmitted in accordance with a particular code whereas in time division and frequency division systems the transmission is based upon allocated time slots for transmission and reception and difference in frequency band of the communication, respectively. In CDMA, all frequencies and all time slots are available whereby communication with a particular receiver is provided by matching a code applied to the message being sent with the code of the selected receiver. The selected receiver receives only those communication wherein transmitted code and receiver code match. In such CDMA systems, the codes of all receivers in the system must be orthogonal to the other receivers in the system in order to avoid distortion due to cross talk and the like.
A problem arises during transmission from the base station to the mobile receivers in that, though the signals being transmitted to different mobile receivers in the system may initially be orthogonal to each other as required, the transmitted signal may be reflected and/or refracted one or more times, such as from buildings in the transmission path and/or other reflecting and/or refracting media. These reflections and/or refractions cause the originally orthogonal signals to shift so that they are no longer completely orthogonal and are received by other receivers with varying degrees of magnitude, thereby causing interference in the other receivers. The quality of the received signal is a function of the amplitude of the transmitted signal divided by a function of the noise plus the interference. Since the noise is generally not changeable in established equipment, minimization of the interference is desirable and generally essential for signal quality improvement and is therefore the apparent approach required to improve received signal quality. Current commercial CDMA systems do not have a mechanism for cancellation of such types of interference.
Interference cancellation in CDMA systems has been studied extensively as a way to increase capacity, decrease the requirements for power control or improve the bit error rate at the receiver and is of particular interest with reference to wideband code division multiple access (WCDMA) systems. One type of interference cancellation is multiuser detection where the receiver demodulates the information from many different transmitters. This cancellation usually occurs at the base station which must receive signals from all of the mobile units within its cell, but such cancellation can also be provided at the mobile unit as well. The optimal interference cancellation method is presented by S. Verdu, xe2x80x9cMinimum probability of error for asynchronous Gaussian multiple-access channels,xe2x80x9d IEEE Transactions on Information Theory, vol. IT-32, No. 1, pp. 85-96, January 1986. This procedure can be used to find an upper bound on the performance gain that can be achieved through interference cancellation. The optimal interference cancellation has been shown to involve maximum likelihood sequence estimation (MLSE), however, MLSE has a complexity which is exponential with the number of users, making this solution uneconomical and unimplementable in a cost and power-efficient manner. Interference cancellation can be used at the base station to cancel the effect of other mobile units in a single cell and it can be used at the mobile station to cancel out the interfering signals from the current base station or other base stations.
It should be understood that the term xe2x80x9creceiverxe2x80x9d as used herein refers both to an instrument capable of reception only as well as an instrument capable of transmission and reception, the xe2x80x9creceiverxe2x80x9d generally being mobile.
In accordance with the present invention, there is provided a multi-stage system for cancellation of the above-described interference which is generally simple and relatively inexpensive. The invention described herein is used at the mobile station to cancel interference from the base station caused by multipath, the case wherein the received signal arrives as transmitted as well as in reflected and/or refracted state. The approach taken relates to multi-user detection (MUD), which is a type of interference cancellation in which the signals on many channels are demodulated at the receiver. In this context, MUD refers to the demodulation of many channels transmitted by one base station.
Briefly, there is provided a mobile station with multiple RAKE fingers for receiving a signal having a Walsh code. Each RAKE finger is a correlator which demodulates one multipath component of the received signal. (The basis vectors of the Hadamard transform can be generated by sampling Walsh functions which take only binary values xc2x11 and form a complete orthogonal basis for square integrable functions. The Hadamard transform is also known as the Walsh-Hadamard transform as explained in Jain, A. K., Fundamentals of Digital Image Processing, Prentice-Hall (1989).) After performing the standard procedure of removing the long code used by CDMA systems (the long code is a well known pseudo-random sequence taking binary values xc2x11 which modulates the transmitted signal to make it appear as Gaussian noise to other users in the system), the mobile station applies this signal to an inverse Walsh transform circuit (IFWT) to remove the appropriate Walsh code from each channel. This permits all of the channels transmitted by a base station to be demodulated simultaneously and provides a separate output for each channel. For each RAKE finger, a single channel response is estimated from the pilot symbols (training symbols which are known at the receiver and can be used for such purposes as synchronization, channel estimation and signal-to-interference ratio estimation) in each of the channels. The channel estimate averages the received pilot symbols to estimate the amplitude and phase of the channel. The output of each IFWT is multiplied by the complex conjugate of the channel response, and after maximal-ratio combining, each of the outputs is transferred to data decision blocks (estimate which symbol was transmitted by finding the closest constellation point to the received signal. For example, with QPSK modulation and a constellation of {1+j, 1xe2x88x92j, xe2x88x921+j, xe2x88x921xe2x88x92j}, if the received symbol is 0.8+1.1j, then the data decision block will decide 1+j was sent) which make symbol decisions for each of the channels and are estimates of the transmitted data.
Interference cancellation is performed by transferring the estimated data for each channel to a Walsh transform circuit where the estimated data is respread into orthogonal channels using the Walsh code for each channel. This signal is multiplied by the downlink long code. For each RAKE finger, this regenerated signal is multiplied by the estimate of the channel response and is delayed by the channel delay of each finger. For each RAKE finger, the regenerated signal from all of the other fingers is subtracted from the original signal received by that finger. The original signal minus the regenerated interference is then fed back to the RAKE fingers where the signal is again recirculated through the above described circuitry as many times as desired, each recirculation removing additional interference. After the desired number of iterations, the estimated data from the last iteration for the channel(s) assigned to the mobile device is taken as the output of the receiver.
A standard implementation of the despreading and respreading operations at the receiver for M channels, each channel with a spreading factor of N, would require MN operations. The despreading and respreading operations are the most computationally intensive parts of the interference canceller, so a reduction in complexity of these operations allows the interference canceller to be implemented in a cost and power-efficient manner. This invention uses the Inverse Fast Walsh Transform (IFWT) and the Fast Walsh Transform (FWT) to reduce the computational requirements at the receiver. Since all of the received channels are synchronized in time and experience the same multipath, the Inverse Fast Walsh Transform (IFWT) can be used for despreading the Walsh code and the Fast Walsh Transform (FWT) can be used for respreading the Walsh codes. Both of these transforms can be implemented in N log2(N) additions and subtractions. A second contribution of this invention is that channels with multiple rates can be despread and respread using a modified FWT. The number of operations required remains N log2(N) or fewer. The multi-rate FWT is discussed hereinbelow.
When demodulating multiple channels, each of which has a different Walsh code, the IFWT can be used to remove the Walsh codes from each channel. The IFWT can be implemented in N log2(N) additions and subtractions, where N is the length of the spreading sequence. For a 256 chip sequence, the number of operation required for different spreading factors is shown in the following table:
If all of the channels to be detected have the same spreading factor N, then the IFWT with the correct spreading factor can be used to separate all of the channels. However, if the channels have multiple rates, and thus different spreading factors, then the number of operations will go up if a straigthforward implementation is used. For example, if spreading factors of 32 and 128 are present in some of the received channels, then a straightforward approach of applying IFWTs with lengths of 32 and 128 will require 1280+1792=3072 operations to process 256 chips.
The mobile station can respread the demodulated data into orthogonal channels using the FWT. The FWT also has a complexity of N log2(N). FIGS. 1 and 2 show one version of the circuit diagrams for the FWT and IFWT, respectively, for Walsh codes of length 8. These flow graphs are not the conventional flow graphs for the FWT and IFWT, but are chosen to make multi-rate FWTs simple to implement. All signals travel from left to right and all operations are either additions or subtractions. The two branches intersecting at a node represent addition, except when the lower branch is marked with xe2x80x9cxe2x88x921xe2x80x9d which represents subtraction at that node. The lower case letters denote the complex values before Walsh spreading, and the uppercase letters denote the complex values after Walsh spreading. The Walsh codes used are the standard such codes and the eight Walsh codes represented in FIGS. 1 and 2 are provided hereinbelow wherein each row represent one Walsh code and the lower case symbol to the left of each code is the data point assigned to the Walsh code:
It is easy to extend the single rate FWT and IFWT shown in FIGS. 1 and 2 to multi-rate versions. FIGS. 3 and 4 show examples of an 8-point Multi-Rate Fast Walsh Transform (MFWT) and an 8-point Inverse Multi-Rate Fast Walsh Transform (IMFWT). If a pair of data points has a spreading factor one half of the maximum spreading length, then the first butterfly is omitted. Similarly, if four data points have a spreading factor one fourth of the maximum spreading length, then the first two butterflies are omitted, This concept is extended to shorter spreading codes. The Walsh codes represented in the above examples are of lengths 2, 4 and 8 and are provided hereinbelow. Both x2 and x3 use the same Walsh code of length 4. The first four chips transmit x2 and the second 4 chips transmit x3. Similarly, x4, x5, x6 and x7 all use the same Walsh code of length 2.
The IMFWT requires only the number of operations (or fewer) corresponding to the largest spreading factor. Thus, if spreading factors of 32 and 128 are present as in the earlier example, then the number of operations required to process 256 chips is 1792 or less. There can be fewer operations since some of the butterflies are not required in the multi-rate FWTs. For the Walsh codes with lower spreading factors, the inputs which use the same Walsh code must be in bit-reversed order of the indices as demonstrated by x4, x5, x6 and x7 in FIG. 3. This is the standard bit-reversed order which is used in most fast transforms such as the Fast Fourier Transform (FFT). The Walsh codes with lower spreading factors must also be properly scaled at the output of FIG. 4. The outputs corresponding to a spreading factor one half the maximum length must be multiplied by two and the outputs with a spreading factor one fourth the maximum length must be multiplied by four. The same pattern will be used for shorter Walsh codes. Since these factors are always powers of two, it is easy to multiply by performing left bit shifts.